﻿ /*
 Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
*/
(function() {
    function b(a, b, c) {
        var k = n[this.id];
        if (k)
            for (var f = this instanceof CKEDITOR.ui.dialog.checkbox, e = 0; e < k.length; e++) {
                var d = k[e];
                switch (d.type) {
                    case g:
                        if (!a)
                            continue;
                        if (null !== a.getAttribute(d.name)) {
                            a = a.getAttribute(d.name);
                            f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
                            return
                        }
                        f && this.setValue(!!d["default"]);
                        break;
                    case o:
                        if (!a)
                            continue;
                        if (d.name in c) {
                            a = c[d.name];
                            f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
                            return
                        }
                        f && this.setValue(!!d["default"]);
                        break;
                    case i:
                        if (!b)
                            continue;
                        if (b.getAttribute(d.name)) {
                            a = b.getAttribute(d.name);
                            f ? this.setValue("true" == a.toLowerCase()) : this.setValue(a);
                            return
                        }
                        f && this.setValue(!!d["default"])
                }
            }
    }
    function c(a, b, c) {
        var k = n[this.id];
        if (k)
            for (var f = "" === this.getValue(), e = this instanceof CKEDITOR.ui.dialog.checkbox, d = 0; d < k.length; d++) {
                var h = k[d];
                switch (h.type) {
                    case g:
                        if (!a || "data" == h.name && b && !a.hasAttribute("data"))
                            continue;
                        var l = this.getValue() || ({width: 555,height:333,hSpace:5,vSpace:10})[h.name];
                        e && l === h["default"] ? a.removeAttribute(h.name) : a.setAttribute(h.name, l);
                        break;
                    case o:
                        if (!a)
                            continue;
                        l = this.getValue();
                        if (f || e && l === h["default"])
                            h.name in c && c[h.name].remove();
                        else if (h.name in c)
                            c[h.name].setAttribute("value", l);
                        else {
                            var p = CKEDITOR.dom.element.createFromHtml("<cke:param></cke:param>", a.getDocument());
                            p.setAttributes({name: h.name,value: l});
                            1 > a.getChildCount() ? p.appendTo(a) : p.insertBefore(a.getFirst())
                        }
                        break;
                    case i:
                        if (!b)
                            continue;
                        l = this.getValue();
                        f || e && l === h["default"] ? b.removeAttribute(h.name) : b.setAttribute(h.name, l)
                }
            }
    }
    for (var g = 1, o = 2, i = 4, n = {id: [{type: g,name: "id"}],classid: [{type: g,
                name: "classid"}],codebase: [{type: g,name: "codebase"}],pluginspage: [{type: i,name: "pluginspage"}],src: [{type: o,name: "movie"}, {type: i,name: "src"}, {type: g,name: "data"}],name: [{type: i,name: "name"}],align: [{type: g,name: "align"}],"class": [{type: g,name: "class"}, {type: i,name: "class"}],width: [{type: g,name: "width"}, {type: i,name: "width"}],height: [{type: g,name: "height"}, {type: i,name: "height"}],hSpace: [{type: g,name: "hSpace"}, {type: i,name: "hSpace"}],vSpace: [{type: g,name: "vSpace"}, {type: i,name: "vSpace"}],style: [{type: g,
                name: "style"}, {type: i,name: "style"}],type: [{type: i,name: "type"}]}, m = "play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "), j = 0; j < m.length; j++)
        n[m[j]] = [{type: i,name: m[j]}, {type: o,name: m[j]}];
    m = ["allowFullScreen", "play", "loop", "menu"];
    for (j = 0; j < m.length; j++)
        n[m[j]][0]["default"] = n[m[j]][1]["default"] = !0;
    CKEDITOR.dialog.add("flash", function(a) {
        var g = !a.config.flashEmbedTagOnly, i = a.config.flashAddEmbedTag || a.config.flashEmbedTagOnly, k, f = "<div>" + 
        CKEDITOR.tools.htmlEncode(a.lang.common.preview) + '<br><div id="cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style="display:none"><div class="loading">&nbsp;</div></div><div id="cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class="FlashPreviewBox"></div></div>';
        a.config.hide_Upload = true; //上传
        a.config.hide_Info = false; //flash信息
        a.config.hide_Properties = true; //超链接
        a.config.hide_Advanced = true; //高级
        return {title: a.lang.flash.title,minWidth: 420,minHeight: 310,onShow: function() {
                this.fakeImage = this.objectNode = this.embedNode = null;
                k = new CKEDITOR.dom.element("embed", a.document);
                var e = this.getSelectedElement();
                if (e && e.data("cke-real-element-type") && 
                "flash" == e.data("cke-real-element-type")) {
                    this.fakeImage = e;
                    var d = a.restoreRealElement(e), h = null, b = null, c = {};
                    if ("cke:object" == d.getName()) {
                        h = d;
                        d = h.getElementsByTag("embed", "cke");
                        0 < d.count() && (b = d.getItem(0));
                        for (var d = h.getElementsByTag("param", "cke"), g = 0, i = d.count(); g < i; g++) {
                            var f = d.getItem(g), j = f.getAttribute("name"), f = f.getAttribute("value");
                            c[j] = f
                        }
                    } else
                        "cke:embed" == d.getName() && (b = d);
                    this.objectNode = h;
                    this.embedNode = b;
                    this.setupContent(h, b, c, e)
                }
            },onOk: function() {
                var e = null, d = null, b = null;
                if (this.fakeImage)
                    e = 
                    this.objectNode, d = this.embedNode;
                else if (g && (e = CKEDITOR.dom.element.createFromHtml("<cke:object></cke:object>", a.document), e.setAttributes({classid: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",codebase: "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"})), i)
                    d = CKEDITOR.dom.element.createFromHtml("<cke:embed></cke:embed>", a.document), d.setAttributes({type: "application/x-shockwave-flash",pluginspage: "http://www.macromedia.com/go/getflashplayer"}), e && d.appendTo(e);
                if (e)
                    for (var b = {}, c = e.getElementsByTag("param", "cke"), f = 0, j = c.count(); f < j; f++)
                        b[c.getItem(f).getAttribute("name")] = c.getItem(f);
                c = {};
                f = {};
                this.commitContent(e, d, b, c, f);
                e = a.createFakeElement(e || d, "cke_flash", "flash", !0);
                e.setAttributes(f);
                e.setStyles(c);
                this.fakeImage ? (e.replace(this.fakeImage), a.getSelection().selectElement(e)) : a.insertElement(e)
            },onHide: function() {
                this.preview && this.preview.setHtml("")
            },contents: [{id: "info",hidden:a.config.hide_Info,label: a.lang.common.generalTab,accessKey: "I",elements: [{type: "vbox",padding: 0,
                            children: [{type: "hbox",widths: ["280px", "110px"],align: "right",children: [{id: "src",type: "text",label: a.lang.common.url,required: !0,validate: CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc),setup: b,commit: c,onLoad: function() {
                                                var a = this.getDialog(), b = function(b) {
                                                    k.setAttribute("src", b);
                                                    a.preview.setHtml('<embed height="100%" width="100%" src="' + CKEDITOR.tools.htmlEncode(k.getAttribute("src")) + '" type="application/x-shockwave-flash"></embed>')
                                                };
                                                a.preview = a.getContentElement("info", "preview").getElement().getChild(3);
                                                this.on("change", function(a) {
                                                    a.data && a.data.value && b(a.data.value)
                                                });
                                                this.getInputElement().on("change", function() {
                                                    b(this.getValue());
                                                }, this)
                                            }}, {type: "button",id: "browse",filebrowser: "info:src",hidden: !0,style: "display:inline-block;margin-top:10px;",label: a.lang.common.browseServer}]}]}, 
                                            	{type: "hbox",widths: ["25%", "25%", "25%", "25%", "25%"],children: [{type: "text",id: "width",requiredContent: "embed[width]",style: "width:95px",label: a.lang.common.width,validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", 
                                            			a.lang.common.width)),setup: b,commit: c}, {type: "text",id: "height",requiredContent: "embed[height]",style: "width:95px",label: a.lang.common.height,validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", a.lang.common.height)),setup: b,commit: c}, {type: "text",id: "hSpace",requiredContent: "embed[hspace]",style: "width:95px",label: a.lang.flash.hSpace,validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace),setup: b,commit: c}, {type: "text",id: "vSpace",requiredContent: "embed[vspace]",
                                            			style: "width:95px",label: a.lang.flash.vSpace,validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup: b,commit: c}]}, 
                                            	{type: "vbox",children: [{type: "html",id: "preview",style: "width:95%;",html: f}]}
                                            	]}, 
                        /* {id: "Upload",hidden: a.config.hide_Upload,filebrowser: "uploadButton",label: a.lang.common.upload,elements: [{type: "file",id: "upload",label: a.lang.common.upload,size: 38}, {type: "fileButton",id: "uploadButton",label: a.lang.common.uploadSubmit,filebrowser: "info:src","for": ["Upload", "upload"]}]}, */
                         {id: "properties",hidden:a.config.hide_Properties,label: a.lang.flash.propertiesTab,elements: [{type: "hbox",widths: ["50%", "50%"],children: [{id: "scale",type: "select",requiredContent: "embed[scale]",label: a.lang.flash.scale,"default": "",style: "width : 100%;",items: [[a.lang.common.notSet, ""], [a.lang.flash.scaleAll, "showall"], [a.lang.flash.scaleNoBorder, "noborder"], [a.lang.flash.scaleFit, "exactfit"]],setup: b,commit: c}, {id: "allowScriptAccess",type: "select",requiredContent: "embed[allowscriptaccess]",label: a.lang.flash.access,"default": "",style: "width : 100%;",
                                    items: [[a.lang.common.notSet, ""], [a.lang.flash.accessAlways, "always"], [a.lang.flash.accessSameDomain, "samedomain"], [a.lang.flash.accessNever, "never"]],setup: b,commit: c}]}, {type: "hbox",widths: ["50%", "50%"],children: [{id: "wmode",type: "select",requiredContent: "embed[wmode]",label: a.lang.flash.windowMode,"default": "",style: "width : 100%;",items: [[a.lang.common.notSet, ""], [a.lang.flash.windowModeWindow, "window"], [a.lang.flash.windowModeOpaque, "opaque"], [a.lang.flash.windowModeTransparent, "transparent"]],
                                    setup: b,commit: c}, {id: "quality",type: "select",requiredContent: "embed[quality]",label: a.lang.flash.quality,"default": "high",style: "width : 100%;",items: [[a.lang.common.notSet, ""], [a.lang.flash.qualityBest, "best"], [a.lang.flash.qualityHigh, "high"], [a.lang.flash.qualityAutoHigh, "autohigh"], [a.lang.flash.qualityMedium, "medium"], [a.lang.flash.qualityAutoLow, "autolow"], [a.lang.flash.qualityLow, "low"]],setup: b,commit: c}]}, {type: "hbox",widths: ["50%", "50%"],children: [{id: "align",type: "select",requiredContent: "object[align]",
                                    label: a.lang.common.align,"default": "",style: "width : 100%;",items: [[a.lang.common.notSet, ""], [a.lang.common.alignLeft, "left"], [a.lang.flash.alignAbsBottom, "absBottom"], [a.lang.flash.alignAbsMiddle, "absMiddle"], [a.lang.flash.alignBaseline, "baseline"], [a.lang.common.alignBottom, "bottom"], [a.lang.common.alignMiddle, "middle"], [a.lang.common.alignRight, "right"], [a.lang.flash.alignTextTop, "textTop"], [a.lang.common.alignTop, "top"]],setup: b,commit: function(a, b, f, g, i) {
                                        var j = this.getValue();
                                        c.apply(this, arguments);
                                        j && (i.align = j)
                                    }}, {type: "html",html: "<div></div>"}]}, {type: "fieldset",label: CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children: [{type: "vbox",padding: 0,children: [{type: "checkbox",id: "menu",label: a.lang.flash.chkMenu,"default": !0,setup: b,commit: c}, {type: "checkbox",id: "play",label: a.lang.flash.chkPlay,"default": !0,setup: b,commit: c}, {type: "checkbox",id: "loop",label: a.lang.flash.chkLoop,"default": !0,setup: b,commit: c}, {type: "checkbox",id: "allowFullScreen",label: a.lang.flash.chkFull,"default": !0,
                                            setup: b,commit: c}]}]}]}, 
                         {id: "advanced",hidden:a.config.hide_Advanced,label: a.lang.common.advancedTab,elements: [{type: "hbox",children: [{type: "text",id: "id",requiredContent: "object[id]",label: a.lang.common.id,setup: b,commit: c}]}, {type: "hbox",widths: ["45%", "55%"],children: [{type: "text",id: "bgcolor",requiredContent: "embed[bgcolor]",label: a.lang.flash.bgcolor,setup: b,commit: c}, {type: "text",id: "class",requiredContent: "embed(cke-xyz)",label: a.lang.common.cssClass,setup: b,commit: c}]}, {type: "text",id: "style",requiredContent: "embed{cke-xyz}",
                            validate: CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label: a.lang.common.cssStyle,setup: b,commit: c}]}]}
    });
    /*CKEDITOR.dialog.add("flash", function(e) {
        //显示还是隐藏
        e.config.hide_Upload = true; //上传
        e.config.hide_info = false; //图像信息
        e.config.hide_Link = true; //超链接
        e.config.hide_advancedd = true; //高级
        //预览文字
        e.config.image_previewText = "";
        return b("", e,"flash");
    });*/
    /*CKEDITOR.dialog.add("imagebutton", function(b) {
        return b(b, "imagebutton")
    })*/
})();

